package com.liuyi.netty.im.server.handle.pipeline;

import com.liuyi.netty.im.server.config.LimController;
import com.liuyi.netty.im.server.handle.service.MessageService;
import com.liuyi.netty.im.server.handle.service.RelationChainService;
import com.liuyi.netty.im.server.handle.service.SessionService;
import com.liuyi.netty.im.server.handle.storage.UserStorage;
import lombok.Getter;

/**
 * @author Mr.Fmy
 * @since 2021-12-03
 */
public abstract class AbstractProessor implements LimProcessor {

    @Getter
    private final UserStorage userStorage;
    @Getter
    private final RelationChainService relationChainService;
    @Getter
    private final SessionService sessionService;
    @Getter
    private final MessageService messageService;

    protected AbstractProessor(LimController controller) {
        this.userStorage = controller.getUserStorage();
        this.relationChainService = controller.getRelationChainService();
        this.sessionService = controller.getSessionService();
        this.messageService = controller.getMessageService();
    }
}
